<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // JS中函数的定义有三种方式
    // 1.直接通过function定义函数(命名函数)
    function fun() {
    }

    // 2.使用函数表达式定义匿名函数
    var fun2 = function () {
    };
    console.dir(fun2);
    console.log("==================");

    // 3.使用Function构造函数定义函数
    var f = new Function("a", "b", "console.log(a + b)")
    f(1, 2);

    // 4.所有的函数都是Function实例对象
    // f是Function的一个实例对象，所有拥有Function的原型对象__proto__，该原型对象中的构造方法指向Function的构造方法
    // f本身也是一个函数,所有拥有一个原型对象prototype，该原型对象中的构造方法指向f的构造方法
    console.dir(f);  //

    // 5.函数也属于对象
    console.log(f instanceof Object);


</script>
</body>
</html>